package com.linkhub.oms.admin.modules.product.domain.param;

import com.linkhub.oms.admin.modules.user.domain.param.BaseUserParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * @Description: LocalProductQueryParam
 * @Author: echo
 * @Date: 2024/3/20 16:12
 * @Version: 1.0
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "LocalProductQueryParam", description = "LocalProductQueryParam")
public class LocalProductQueryParam extends BaseUserParam implements Serializable {

    @ApiModelProperty(value = "产品类型: 1-单个产品；2-包材；3-组合产品", required = true)
    private List<Integer> productType;

    @ApiModelProperty(value = "是否记录库存: 0-否；1-是,不传默认全部")
    private Integer isRecordStock;

    @ApiModelProperty(value = "页数, 从1开始")
    @NotNull(message = "{validation.page.notNull}")
    @Range(min = 1, message = "{validation.page.min}")
    private Integer page;

    @ApiModelProperty(value = "每页大小")
    @NotNull(message = "{validation.pageSize.notNull}")
    private Integer size;

    @ApiModelProperty(value = "sku")
    private String sku;

    @ApiModelProperty(value = "spu")
    private String spu;

    @ApiModelProperty(value = "英文品名")
    private String productEnTitle;

    @ApiModelProperty(value = "商家用户Ids，只有员工页面才传该参数")
    private List<String> merchantUserIds;
}